<?php
//
//  Copyright (C) 2004-2006  Autodesk, Inc.
//
//  This library is free software; you can redistribute it and/or
//  modify it under the terms of version 2.1 of the GNU Lesser
//  General Public License as published by the Free Software Foundation.
//
//  This library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
//
?>
<?php
require_once("config.php");
require_once("utils.php");
require_once(ROOT_DIR_CLASES.'/cCliente.php');
require_once(ROOT_DIR_CLASES.'/cConfiguracion.php');

class QueryFijos{
	private $args = null;

	function __construct($args)	{
		$this->args = $args;
	}

	function Execute(){
		$result 	= array();
		$cuenta 	= (int) $this->args['CUENTA'];
		$tablaId 	= (int) $this->args['TABLAID'];
		$objetivoDB = $this->args['OBJETIVODB'];
		$objetivo 	= $this->args['OBJETIVO'];
		$porConfig 	= $this->args['PORCONFIG'];//si viene por configuracion.js o por fijos.js

		/*Agarro el label format del cliente para poder ordenar luego cuando obtengo las cuentas*/
		$configRegistrada = cConfiguracion::getConfig($tablaId, $objetivo);
	 	$FIJlblformat = FIJ_LBLFORMAT;
	 	if(($configRegistrada->cantidad()>0)&&(trim($configRegistrada->campo('FIJ_lblformat',0))!='')){ //tiene configuracion inicial
	 		$FIJlblformat = $configRegistrada->campo('FIJ_lblformat',0);
		}
	 	$lblFormat =  split(',',$FIJlblformat);
	 	$orderByLabel = getOrderByFromLabelFormat($lblFormat);
		$ctas2 = array();
		if($objetivoDB==5){
			if($porConfig==1){
				$ctas2 = BykomCliente::getFijosByDealer($cuenta,$orderByLabel);
			}else{
				if($objetivo == 4){//Si es Alias de Dealer
					$ctas2		= BykomCliente::getCuentasByAlias($tablaId,"nombre","",$cuenta,false);//primero se si tiene cuentas sin filtro
					if($ctas2=="" || $ctas2->cantidad()==0){
						if($LOGIN->PERMISOSAlias[20] && $LOGIN->PERMISOSAlias[24]){
							$ctas2  = BykomCliente::getCuentasByDealer($cuenta,$orderByLabel,"");
						}
					}else{
						$ctas2	= BykomCliente::getCuentasByAlias($tablaId,"nombre","",$cuenta,true);//como se que tiene pregunto cuentas, ahora me fijo las que estan habilitadas
					}
				}else{
					$ctas2 = BykomCliente::getCuentasByDealer($cuenta,$orderByLabel,"");
				}
			}
		}else if($objetivoDB == 1){
			$ctas2 = BykomCliente::Cuentas_Cliente($cuenta);
		}
		if(!empty($ctas2) && $ctas2->cantidad()>0){
			for ( $i=0; $i<$ctas2->cantidad(); $i++) {
				$oCuenta = new stdClass();
				$oCuenta->id = $ctas2->campo('ORDER_ID', $i);
				$oCuenta->nombre= $ctas2->campo('nombre', $i);
				$oCuenta->nombreDos = $ctas2->campo('nombre_dos', $i);
		    	$oCuenta->codigocl = $ctas2->campo('codigocl', $i);
		    	//$oCuenta->patente= $ctas2->campo('patente',$i);
		    	$oCuenta->codigo = $ctas2->campo('Codigo', $i);
		    	$oCuenta->imagen= $ctas2->campo('Imagen', $i);
		    	$oCuenta->codigoAlfa = $ctas2->campo('CodigoAlfa', $i);
		    	$oCuenta->longitud = $ctas2->campo('longitud', $i);
		    	$oCuenta->latitud= $ctas2->campo('latitud', $i);
		    	$oCuenta->activo= $ctas2->campo('activo', $i);
				$label = '';
				if (trim($lblFormat[0])!=''){
					$label .= ReplaceChars($ctas2->campo($lblFormat[0],$i)).' ';
				}
				if (trim($lblFormat[1])!=''){
					$label .= ReplaceChars($lblFormat[1]).' ';
				}
				if (trim($lblFormat[2])!=''){
					$label .= ReplaceChars($ctas2->campo($lblFormat[2],$i)).' ';
				}
				if (trim($lblFormat[3])!=''){
					$label .= ReplaceChars($lblFormat[3]).' ';
				}
				if (trim($lblFormat[4])!=''){
					$label .= ReplaceChars($ctas2->campo($lblFormat[4],$i));
				}
				if (trim($label)==''){
					$label = 'unformatted label';
				}
				$oCuenta->label = $label;
				array_push($result, $oCuenta);
			}
		}
		return $result;
	}
}
?>